The present invention relates to an improved communication system in which electronic communications regarding accounts are digitally signed.
As used herein, an electronic communication (xe2x80x9cECxe2x80x9d) is considered to be any communication in electronic form. ECs have become an integral part of transacting business today, especially with the growth of the Internet and e-commerce. An EC can represent, for example, a request for access to information or a physical area, a financial transaction, such as an instruction to a bank to transfer funds, or a legal action, such as the delivery of an executed contract.
Over recent years, digital signatures also have become an important part of e-commerce. The origination of a digital signature generally comprises: (1) the calculation of a message digest-such as a hash value; and (2) the subsequent encryption of the message digest. The message digest is encrypted by an electronic device generally using a private key of a public-private key pair used in asymmetric cryptography. The resulting ciphertext itself usually constitutes the digital signature, which typically is appended to the message to form the EC. The second part of originating the digital signature-encrypting with a private key-is referred to herein as xe2x80x9cgeneratingxe2x80x9d the digital signature, and the combined two steps (i.e., calculating a message digest and encrypting with a private key) is referred to herein as xe2x80x9coriginatingxe2x80x9d the digital signature. Furthermore, while the generation of the digital signature is conventionally understood as the encryption of the message digest, it is contemplated herein that generating the digital signature also may include simply encrypting the message rather than the message digest. Digital signatures are important because any change whatsoever to the message in an EC is detectable from an analysis of the message and the digital signature. In this regard, the digital signature is used to xe2x80x9cauthenticatexe2x80x9d a message contained within the EC (hereinafter referred to as xe2x80x9cMessage Authenticationxe2x80x9d).
For example, a message digest may be calculated by applying a hashing algorithmxe2x80x94such as the SHA-1 algorithmxe2x80x94to the message. Such hashing algorithm may be applied either within the device or external to the device with the resulting hash value then being transmitted to the device for generation of the digital signature. In order to perform the Message Authentication in this example, the recipient of the EC must know or be able to obtain both the identity of the hashing algorithm applied to the message as well as the public key (xe2x80x9cPuKxe2x80x9d) corresponding to the private key (xe2x80x9cPrKxe2x80x9d) used to encrypt the message digest. With this knowledge, the recipient applies the appropriate hashing algorithm to the message to calculate a hash value, and the recipient decrypts the digital signature using the public key. If the hash value calculated by the recipient equals the hash value of the decrypted digital signature, then the recipient determines that the content of the message contained in the EC was not altered in transmission, which necessarily would have changed the hash value.
In performing Message Authentication, the recipient also authenticates the sender of the EC, in so much as the recipient thereby confirms that the sender of the EC possessed the private key corresponding to the public key used successfully to authenticate the message. This is one type of entity authentication and is based on what the sender xe2x80x9chasxe2x80x9d (hereinafter referred to as xe2x80x9cFactor A Entity Authenticationxe2x80x9d). Factor A Entity Authentication is useful when the recipient of the EC has trusted information regarding the identity of the owner of the private key.
This trusted information conventionally is provided based on a digital certificate issued by a trusted third party that accompanies the digital signature and binds the identity (or other attributes) of the private key owner with the public key. A digital certificate (also known as a xe2x80x9cdigital IDxe2x80x9d) is a voucher by a third party (commonly referred to as a xe2x80x9cCertification Authorityxe2x80x9d) attesting to the identity (or other attributes) of an owner of a public key. Essentially, digital certificates are the electronic counterparts to driver licenses, passports, membership cards, and other paper-based forms of identification. The digital certificate itself comprises an electronic message including a public key and the identity of the owner of the public key. A digital certificate also typically contains an expiration date for the public key, the name of the Certification Authority, a serial number of the digital certificate, and a digital signature of the Certification Authority. One of the reasons for an expiration date is to limit the liability for the Certification Authority due to the likelihood that attributes other than the identity may change over time. The most widely accepted format for digital certificates is defined by the CCITT X.509 international standard; thus, certificates can be read or written by any application complying with X.509. Based on a digital certificate included in an EC, a recipient is able to authenticate the digital certificate using a public key of the Certification Authority and thereby, presumably, confirm the identity of the owner set forth therein.
The system wherein a digital certificate is included in an EC comprises a xe2x80x9cpublic key infrastructurexe2x80x9d (PKI) commonly referred to as the xe2x80x9cCertification Authority Digital Signaturexe2x80x9d (CADS) system. A particular implementation 100 of the CADS system in the context of an electronic transaction between a purchaser 102 and an online merchant 110 is illustrated in FIG. 1. Under this system, a purchaser 102 using, for example, a computer 104 creates a purchase order in the form of an electronic message. The purchaser 102 includes in the message relevant account information of a financial institution 112 from which payment is to be made to the merchant 110. The account information includes, for example, a credit card number and expiration date as well as the name on the card. Software on the purchaser""s computer 104 then originates a digital signature for the message using a private key of the purchaser 102 safeguarded in the computer 104. The software also maintains a digital certificate on the computer 104 issued by a Certification Authority 106a. The message, digital signature, and digital certificate then are combined into an EC, and the EC is communicated over the Internet 108 to the merchant 110.
Upon receipt, the merchant 110 authenticates the message using the public key in the digital certificate. If successful, the merchant 110 then authenticates the digital certificate using a public key of the Certification Authority 106a. Successful authentication of the digital certificate may satisfy the merchant 110 that the purchaserxe2x80x94the sender of the ECxe2x80x94is the owner identified in the digital certificate. If the merchant 110 is so satisfied, then the merchant 110 submits the account information to the relevant financial institution 112 for an approval for payment to the merchant 110 from the account. Upon receipt from the financial institution 112 of approval for payment, the merchant 110 fills the purchase order of the purchaser 102. Furthermore, confirmation of approval (or rejection) of the purchase order preferably is sent from the merchant 110 to the purchaser 102.
Unfortunately, while the CADS system enables two parties who otherwise may not have a preexisting relationship with one another to communicate with each other with the confidence of knowing the other""s identity, the CADS system does have its drawbacks. For example, a digital certificate typically is issued with an expiration date, and an expired digital certificate generally is not recognized in the industry. Furthermore, if a private key is lost or stolen, then the owner of the private key must notify the Certification Authority to revoke the owner""s digital certificate; however, a recipient of an EC with a digital certificate will only know of the revocation of the digital certificate if the recipient cross-references the serial number of the digital certificate against a certificate revocation list (CRL) published by the Certification Authority. Another drawback to the CADS system is that the digital certificate itself is only as good as the particular authority that issues it, and it often is necessary to obtain multiple digital certificates (i.e., from Certificate Authorities 106a, 106b to 106n) in order to create a sufficient xe2x80x9cchainxe2x80x9d or xe2x80x9cnetworkxe2x80x9d of trust between the purchaser 104 and merchant 110 for a transaction or communication to be accepted and acted upon. Additionally, the entire CADS system rests upon the secrecy of the private key of the Certification Authority issuing a digital certificate, which, if compromised, collapses the CADS system.
In the context of an EC regarding an account, such as the example of an online purchase set forth above, another drawback of the CADS system is that the account information must be encrypted or otherwise protected if sent over an insecure communications medium, such as the Internet 108. In the example above, a hacker eavesdropping on the communication of the account information could obtain sufficient information to make fraudulent charges to the account of the purchaser, especially as not all merchants require a digital signature and digital certificate to fill a purchase order. Moreover, financial institutions have yet to standardize a requirement that a digital certificate of a purchaser be submitted as a condition precedent to approving a payment request by a merchant; instead, in determining whether a purchaser actually has the authority to effect payment to a merchant, a financial institution relies upon the personal account information provided by the merchant, and whether the account information has been reported lost or stolen. Further, digital certificates raise significant privacy issues in many circumstances.
Accordingly, a need exists for an improved system of communication using digital signatures, especially wherein an EC pertains to an account upon which the person (or device) digitally signing the EC has authority to act.
Briefly summarized, a method of communicating electronically over a communications medium regarding accounts includes for each of two separate accounts maintained by separate third parties, the steps of: maintaining information pertaining to the account in an account database such that the information is retrievable based on a unique identifier, associating a public key of a public-private key pair with the unique identifier, generating a digital signature for an electronic message using a private key of the public-private key pair, the electronic message including an instruction and the unique identifier, authenticating the electronic message using the public key associated with the information identified by the unique identifier, and upon the successful authentication of the electronic message, executing the instruction with respect to the account represented by the information that is identified by the unique identifier.
The present invention also includes a method of maintaining a Central Key Authority (CKA) database. The CKA database includes account information of users such as a public key of a user device that generates digital signatures, and third-party account identifiers each of which identifies to a third-party an account of the user that is maintained with the third-party and that has been associated with the user""s public key by the third-party.
The present invention also encompasses a method of managing a database for identification of security features of a device that generates digital signatures, and includes the steps of recording in the database for each of a plurality of devices a public key of a pair of public-private keys of the device and information including security features of the device, the security features being associated with the public key in the database; and identifying security features from the database to a recipient of an electronic message for which a digital signature was originated utilizing a private key of the public-private key pair of a particular one of the devices, the security features being for the particular device.